#include<cstdio>
#include<cstring>
#include<stack>
using namespace std;
stack<int> st;
int a[1011];
int n;
int main()
{
	freopen("test.in","r",stdin);
	while(scanf("%d",&n),n!=0)
	{
		while(scanf("%d",&a[1]),a[1]!=0)
		{
			for(int i=2;i<=n;i++)
				scanf("%d",&a[i]);
			while(!st.empty())st.pop();
			a[n+1]=0;
			int x=1,y=a[1],top=0,t=1;
			bool ans=true;
			while(ans)
			{
				if(y==0)break;
				if(x==y)
				{
					x++;
					y=a[++t];
				}
				else
				{
					if(!st.empty()&&y==st.top())
					{
						st.pop();
						y=a[++t];
					}
					else 
					{
						if(x<=n)
						{
							st.push(x);
							x++;
						}
						else ans=false;
					}
				}
			}
			if(ans)printf("Yes\n");
			else printf("No\n");
		}
		printf("\n");
	}
	return 0;
}



